


abstract class Shape{
    private int a=10;
    static{
        System.out.println("hahahaha");
    }
     public Shape(){

     }
     public Shape(int a){
         this.a=a;
         System.out.println(this.a);
     }
    public void show(){
        System.out.println("good draw");
    }
   abstract public void draw();

}

class Rect extends Shape{
    public int size;
    static{
        System.out.println("rect hahah");
    }

    public Rect(){
        super(3);

    }

    @Override
    public void draw(){
        System.out.println("矩形"+"画画");
    }
}

class Circle extends Shape{
    public int height;
    @Override
    public void draw(){
        System.out.println("圆圈"+"画画");
    }
}


public class Test {
    public static void function(Shape shape1){
        shape1.draw();
    }
    public static void main(String[] args) {

        function(new Rect());
        function(new Circle());

        Rect rect1=new Rect();

    }
}
